package com.iuie.ns.frame.web.dataset.vo;

/**
 * 属性定义不允许出现基本数据类型，如果有新的数据类型加入，请注意DataFieldAnnotationHandler中handle方法做响应的变更
 * @author lj
 *
 */
public class ColsVO {

	private String text;//定义此列在界面上显示的名称。
	
	private String width;//定义此列的宽度。	80 | '80px' | '80%' | 'auto'(默认)
	
	private Boolean flex;//定义此列在数据表格中显示在为水平可滚动的区域，在此列之前的没有定义flex=true的列则固定在左侧，在此列之后的没有定义flex=true的列会固定在右侧。必须为连续的多列的flex属性定义为true。在DOM中可以为th标签增加CLASScol-flex实现，等同于flex=true。

	private String cssClass;//定义数据表格中此列的附加的CSS CLASS值。
	
	private String type;//定义此列数据的类型，目前支持字符串、数字和日期。	string(默认) | number | date
	
	private Boolean sort = true;//如果排序启用时定义此列是否可以排序。	true（默认）：支持排序； false：不支持排序； 'down'：默认使用降序排序； 'sortable: true'：默认使用升序排序；
	
	private Boolean ignore;//是否在构建数据表格时忽略该列，不会在页面显示。	true | false(默认)
	
	private String name; // 属性名，这个字段是必须的
	
	private String dataCssClass; //自定义此列具体内容的CSS CLASS值，即列头以下此列每行样式，默认与cssClass相同。
								//table-header-left:左对齐，table-header-center：居中，table-header-right:右对齐
	
	private String dateFormat;
	
	private String fieldOfFiledName;
	
	private String fieldOfMethodName;
	
	private String invokeMethodName;
	
	public ColsVO(){
		
	}
	
	
	public void setName(String name) {
		this.name = name;
	}
	
	public ColsVO(ColsVO cols) {
		this.text=cols.text;
		this.width=cols.width;
		this.flex=cols.flex;
		this.cssClass=cols.cssClass;
		this.type=cols.type;
		this.sort=cols.sort;
		this.ignore=cols.ignore;
		this.name=cols.name;
		this.dataCssClass=cols.dataCssClass;
		this.dateFormat = cols.dateFormat;
	}

	public String getDataCssClass() {
		if(dataCssClass == null || "".equals(dataCssClass)){
			dataCssClass = this.cssClass;
		}
		return dataCssClass;
	}

	public void setDataCssClass(String dataCssClass) {
		this.dataCssClass = dataCssClass;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getWidth() {
		return width;
	}

	public void setWidth(String width) {
		this.width = width;
	}

	public boolean isFlex() {
		return flex;
	}

	public void setFlex(boolean flex) {
		this.flex = flex;
	}

	public String getCssClass() {
		return cssClass;
	}

	public void setCssClass(String cssClass) {
		this.cssClass = cssClass;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public boolean getSort() {
		return sort;
	}

	public void setSort(boolean sort) {
		this.sort = sort;
	}

	public boolean isIgnore() {
		return ignore;
	}

	public void setIgnore(boolean ignore) {
		this.ignore = ignore;
	}
	public String getName() {
		return name;
	}
	public String getDateFormat() {
		return dateFormat;
	}
	public void setDateFormat(String dateFormat) {
		this.dateFormat = dateFormat;
	}
	
	public String getFieldOfFiledName() {
		return fieldOfFiledName;
	}


	public void setFieldOfFiledName(String fieldOfFiledName) {
		this.fieldOfFiledName = fieldOfFiledName;
	}


	public String getFieldOfMethodName() {
		return fieldOfMethodName;
	}


	public void setFieldOfMethodName(String fieldOfMethodName) {
		this.fieldOfMethodName = fieldOfMethodName;
	}


	public String getInvokeMethodName() {
		return invokeMethodName;
	}


	public void setInvokeMethodName(String invokeMethodName) {
		this.invokeMethodName = invokeMethodName;
	}


	@Override
	public String toString() {
		return "ColsVO [text=" + text + ", width=" + width + ", flex=" + flex
				+ ", cssClass=" + cssClass + ", type=" + type + ", sort="
				+ sort + ", ignore=" + ignore + ", name=" + name
				+ ", dataCssClass=" + dataCssClass + ", dateFormat="
				+ dateFormat + "]";
	}
	
}
